package com.ktgj.customer.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ktgj.common.core.annotation.Excel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

public class OrderTouristDto {

    private static final long serialVersionUID = 1L;

    /** 游客表主键 */
    private Long touristId;

    /** 订单表主键 */
    @Excel(name = "订单表主键")
    private Long orderId;

    /** 游客姓名 */
    @Excel(name = "游客姓名")
    private String touristName;

    /** 游客证件号 */
    @Excel(name = "游客证件号")
    private String touristCardNo;

    /** 游客证件类型 */
    @Excel(name = "游客证件类型")
    private String touristCardType;

    /** 出生日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出生日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date touristBirthday;

    /** 1男，2女 */
    @Excel(name = "1男，2女")
    private String touristSex;

    /** 联系手机号 */
    @Excel(name = "联系手机号")
    private String phone;

    /** 年龄类型 */
    @Excel(name = "年龄类型")
    private String ageType;

    /** 出发城市 */
    @Excel(name = "出发城市")
    private String startCity;

    /** 返回城市 */
    @Excel(name = "返回城市")
    private String returnCity;

    /** 房间类型 */
    @Excel(name = "房间类型")
    private String roomType;

    /** 单房差 */
    @Excel(name = "单房差")
    private BigDecimal differentRoomFee;

    /** 机票费用 */
    @Excel(name = "机票费用")
    private BigDecimal flightFee;

    /** 是否购卡 */
    @Excel(name = "是否购卡")
    private String isBuyCard;

    /** 购买会员卡对应的开卡类型 */
    @Excel(name = "购买会员卡对应的开卡类型")
    private Long buyCardTypeId;

    /** 购卡费用 */
    @Excel(name = "购卡费用")
    private BigDecimal buyCardFee;

    /** 使用旅游次数：0使用会员的次数，1使用自己的次数 */
    @Excel(name = "使用旅游次数：0使用会员的次数，1使用自己的次数")
    private String tripNumberType;

    /** 使用旅游次数 */
    @Excel(name = "使用旅游次数")
    private Long tripNumber;

    /** 旅游次数抵扣费用 */
    @Excel(name = "旅游次数抵扣费用")
    private BigDecimal tripNumberFee;

    /** 出现抵扣卷使用类型：0使用会员，1使用自己 */
    @Excel(name = "出现抵扣卷使用类型：0使用会员，1使用自己")
    private String plusUsedType;

    /** plus劵使用金额 */
    @Excel(name = "plus劵使用金额")
    private BigDecimal plusUsed;

    /** 旅游券使用类型：0使用会员，1使用自己 */
    @Excel(name = "旅游券使用类型：0使用会员，1使用自己")
    private String travelUsedType;

    /** 优惠金额 */
    @Excel(name = "优惠金额")
    private BigDecimal discountUsed;

    /** 旅游券使用金额 */
    @Excel(name = "旅游券使用金额")
    private BigDecimal travelUsed;

    /** 游客状态。0预订，1待出行，2申请退团，3退款中，4退款失败，5退款成功 */
    @Excel(name = "游客状态。0预订，1待出行，2申请退团，3退款中，4退款失败，5退款成功")
    private String status;

    /** 团费 */
    @Excel(name = "团费")
    private Long groupFee;

    /** 是否续费 */
    @Excel(name = "是否续费")
    private String isRenewCard;

    /** 续费会员卡对应的开卡类型 */
    @Excel(name = "续费会员卡对应的开卡类型")
    private Long renewCardTypeId;

    /** 卡续费的费用 */
    @Excel(name = "卡续费的费用")
    private BigDecimal renewFee;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createTime;

    public Long getTouristId() {
        return touristId;
    }

    public void setTouristId(Long touristId) {
        this.touristId = touristId;
    }

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public String getTouristName() {
        return touristName;
    }

    public void setTouristName(String touristName) {
        this.touristName = touristName;
    }

    public String getTouristCardNo() {
        return touristCardNo;
    }

    public void setTouristCardNo(String touristCardNo) {
        this.touristCardNo = touristCardNo;
    }

    public String getTouristCardType() {
        return touristCardType;
    }

    public void setTouristCardType(String touristCardType) {
        this.touristCardType = touristCardType;
    }

    public Date getTouristBirthday() {
        return touristBirthday;
    }

    public void setTouristBirthday(Date touristBirthday) {
        this.touristBirthday = touristBirthday;
    }

    public String getTouristSex() {
        return touristSex;
    }

    public void setTouristSex(String touristSex) {
        this.touristSex = touristSex;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getAgeType() {
        return ageType;
    }

    public void setAgeType(String ageType) {
        this.ageType = ageType;
    }

    public String getStartCity() {
        return startCity;
    }

    public void setStartCity(String startCity) {
        this.startCity = startCity;
    }

    public String getReturnCity() {
        return returnCity;
    }

    public void setReturnCity(String returnCity) {
        this.returnCity = returnCity;
    }

    public String getRoomType() {
        return roomType;
    }

    public void setRoomType(String roomType) {
        this.roomType = roomType;
    }

    public BigDecimal getDifferentRoomFee() {
        return differentRoomFee;
    }

    public void setDifferentRoomFee(BigDecimal differentRoomFee) {
        this.differentRoomFee = differentRoomFee;
    }

    public BigDecimal getFlightFee() {
        return flightFee;
    }

    public void setFlightFee(BigDecimal flightFee) {
        this.flightFee = flightFee;
    }

    public String getIsBuyCard() {
        return isBuyCard;
    }

    public void setIsBuyCard(String isBuyCard) {
        this.isBuyCard = isBuyCard;
    }

    public Long getBuyCardTypeId() {
        return buyCardTypeId;
    }

    public void setBuyCardTypeId(Long buyCardTypeId) {
        this.buyCardTypeId = buyCardTypeId;
    }

    public BigDecimal getBuyCardFee() {
        return buyCardFee;
    }

    public void setBuyCardFee(BigDecimal buyCardFee) {
        this.buyCardFee = buyCardFee;
    }

    public String getTripNumberType() {
        return tripNumberType;
    }

    public void setTripNumberType(String tripNumberType) {
        this.tripNumberType = tripNumberType;
    }

    public Long getTripNumber() {
        return tripNumber;
    }

    public void setTripNumber(Long tripNumber) {
        this.tripNumber = tripNumber;
    }

    public BigDecimal getTripNumberFee() {
        return tripNumberFee;
    }

    public void setTripNumberFee(BigDecimal tripNumberFee) {
        this.tripNumberFee = tripNumberFee;
    }

    public String getPlusUsedType() {
        return plusUsedType;
    }

    public void setPlusUsedType(String plusUsedType) {
        this.plusUsedType = plusUsedType;
    }

    public BigDecimal getPlusUsed() {
        return plusUsed;
    }

    public void setPlusUsed(BigDecimal plusUsed) {
        this.plusUsed = plusUsed;
    }

    public String getTravelUsedType() {
        return travelUsedType;
    }

    public void setTravelUsedType(String travelUsedType) {
        this.travelUsedType = travelUsedType;
    }

    public BigDecimal getDiscountUsed() {
        return discountUsed;
    }

    public void setDiscountUsed(BigDecimal discountUsed) {
        this.discountUsed = discountUsed;
    }

    public BigDecimal getTravelUsed() {
        return travelUsed;
    }

    public void setTravelUsed(BigDecimal travelUsed) {
        this.travelUsed = travelUsed;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public Long getGroupFee() {
        return groupFee;
    }

    public void setGroupFee(Long groupFee) {
        this.groupFee = groupFee;
    }

    public String getIsRenewCard() {
        return isRenewCard;
    }

    public void setIsRenewCard(String isRenewCard) {
        this.isRenewCard = isRenewCard;
    }

    public Long getRenewCardTypeId() {
        return renewCardTypeId;
    }

    public void setRenewCardTypeId(Long renewCardTypeId) {
        this.renewCardTypeId = renewCardTypeId;
    }

    public BigDecimal getRenewFee() {
        return renewFee;
    }

    public void setRenewFee(BigDecimal renewFee) {
        this.renewFee = renewFee;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
}
